const nodemailer = require('nodemailer')
const template = require('art-template');

class Email {


	constructor(user,pass){

		this.user = user;
		this.pass = pass;

		this.transporter = nodemailer.createTransport({
		  // 使用qq发送邮件
		  // 更多请查看支持列表：https://nodemailer.com/smtp/well-known/
		  service: 'qq',
		  port: 465, // SMTP 端口
		  secureConnection: true, // 使用了 SSL
		  auth: {
		    user,
	        pass//这里密码不是qq密码，是你设置的smtp授权码
		  }
		});

	}

	doSend(mailOptions){

		return new Promise( (resolve,reject) => {
			this.transporter.sendMail(mailOptions, (error, info) => {
			  if (error) {
			    return reject(error);
			  }
			  resolve(info)
			});

		})

	}

	// 发送信息 * => Promise
	sendMsg(targetUser,subject,text){
		let mailOpt= {
		  from: `"lanye" <${this.user}>`,  // 你到qq邮箱地址
		  to: targetUser, // 接受人,可以群发填写多个逗号分隔
		  subject, // 主题名(邮件名)
		  text, // 纯文本
		};
		return this.doSend(mailOpt);
	}

	// 发送页面 * => Promise
	sendHtml(targetUser,subject,htmlPath,data){
		let mailOpt= {
		  from: `"lanye" <${this.user}>`,  // 你到qq邮箱地址
		  to: targetUser, // 接受人,可以群发填写多个逗号分隔
		  subject, // 主题名(邮件名)
		  html:template(htmlPath, data), // 纯文本
		};
		return this.doSend(mailOpt);
	}


}

module.exports = Email;